// -----------------------------------------------------------------------------
// Generate By Furion Tools v1.6.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;

#nullable disable

namespace iemtm.WeChat.Core
{
    public partial class GeneratorType : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<GeneratorType, MasterDbContextLocator>
    {

        public int GeneratorTypeId { get; set; }
        public string GeneratorTypeName { get; set; }
        public string GeneratorTypeNo { get; set; }
        public string GeneratorFactory { get; set; }
        public DateTime OutFactoryDate { get; set; }
        public string OilType { get; set; }
        public double RatedVoltage { get; set; }
        public double RatedCurrent { get; set; }
        public int VTPrimary { get; set; }
        public int VTSecondary { get; set; }
        public decimal RatedPower { get; set; }
        public double RatedOilConsume { get; set; }
        public string GeneratorPhase { get; set; }
        public string MaintRuleName { get; set; }
        public string RepairRuleName { get; set; }
        public string PrjCode { get; set; }
        public string PrjName { get; set; }
        public int? MigrationId { get; set; }
    
        public void Configure(EntityTypeBuilder<GeneratorType> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.Property(e => e.GeneratorFactory).HasMaxLength(50);

                entityBuilder.Property(e => e.GeneratorPhase).HasMaxLength(20);

                entityBuilder.Property(e => e.GeneratorTypeName).HasMaxLength(50);

                entityBuilder.Property(e => e.GeneratorTypeNo).HasMaxLength(50);

                entityBuilder.Property(e => e.MaintRuleName).HasMaxLength(20);

                entityBuilder.Property(e => e.OilType).HasMaxLength(20);

                entityBuilder.Property(e => e.OutFactoryDate).HasColumnType("datetime");

                entityBuilder.Property(e => e.PrjCode).HasMaxLength(100);

                entityBuilder.Property(e => e.PrjName).HasMaxLength(100);

                entityBuilder.Property(e => e.RatedPower).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.RepairRuleName).HasMaxLength(20);
        }

    }
}

